package viewInterfaces;

import java.util.List;

import javax.swing.JPanel;

import modelInterfaces.ITest;
import controllerInterfaces.IControllerBenchmarkPanel;

/**
 * Interface used to perform all tasks of benchmark.
 * 
 * @author Andy Cullache
 */
public interface IViewBenchmarkPanel {
	
	/**
	 * Sets the controller of instance of this interface.
	 * 
	 * @param myController      Benchmark panel controller.
	 */
	public void setController(IControllerBenchmarkPanel myController);
	
	/**
	 * Return a panel from view that implement this interface.
	 * 
	 * @return      View panel.
	 */
	public JPanel GetPanel();
	
	/**
	 * Sets the columns of the table of test results.
	 */
    public void setTable();
    
    /**
	 * Get list of selected test to run.
	 * 
	 * @return      Set of selected test.
	 */
    public List<ITest> getSelectedTest();
    
    
    /**
	 * Mark with a string "--Error" to the test to be defective, do not have metrics and algorithms associated.
	 */
	public void setTestSetup();
	
	
}
